The present invention relates to a storage system having high availability in which a removable medium is stored, more particularly, to a storage system in which each of component elements has redundancy for improving availability.
(1) Description of RAID
A disk array is a technique for operating a plurality of disks in parallel to thereby realize high speed operation as compared with a single disk. When (n) disks are arranged, however, the failure probability deteriorates by (n) times. As a technique for realizing both of high speed and high reliability, "RAID (Redundant Arrays of Inexpensive Disks)" is known. RAID is described in detail in "A Case for Redundant Arrays of Inexpensive Disks (RAID)", In Proc. ACM SIGMOD, June, 1998, issued by University of California at Berkeley.
FIG. 1 shows the construction of RAID. Reference numeral 1 denotes a host computer and 2 indicates RAID which are connected by a host interface 11. The RAID 2 comprises an RAID controller 3 for controlling the RAID and a plurality of disks 210 to 214. The RAID controller 3 controls the plurality of disk apparatus 210 to 214 and executes reading and writing operations of data in data arrangement of FIG. 1. The RAID control means 3 controls generation of a parity and reconstructing data of a failed disk.
The RAID has levels 1 to 5 in accordance with methods of storing the parity. FIG. 2 shows data arrangement of RAID of the level 4 as an example. According to the example, there are five disk apparatus. When four disk apparatus are used as data disk apparatus 210 to 213 and one disk apparatus 214 is used as a parity disk apparatus, data is sequentially dispersed and stored on a predetermined data block unit basis in accordance with the order of disk apparatus 210, disk apparatus 211, disk apparatus 212, and disk apparatus 213. The data block unit is called a stripe and a control of dispersing data is called striping. By obtaining exclusive OR (hereinbelow, called "XOR") of the data D0 to D3 in the same stripe stored in the disk apparatus 210 to 213, parity P0 as redundant data is generated as follows. EQU P0=D0+D1+D2+D3 (Equation a)
where, + denotes XOR operation.
When the disk apparatus 210 for storing D0 is failed, D0 of the failed disk apparatus can be reproduced by the following. EQU D0=D1+D2+D3+P0 (Equation b)
Data in the same column for generating a parity and a group of parity stripes is called a "parity group". In case of FIG. 2, D0, D1, D2, D3, and P0 form the same parity group. Except for RAID4, RAID3 and RAID5 generate the parity by the same method using the equation a.
The RAID is a method of controlling disks which can enhance reliability at the time of disk failure in the following manner. By realizing high-speed control by operating a plurality of disks in parallel and storing redundant data called a parity into a specific disk called a parity disk, even if one of the disks for storing data is failed, data of the failed disk can be reproduced from other disks and the parity of the parity disk.
(2) Description of removable media (DVD)
In a computer system, as storage often used as well as a disk storage, there is a magnetic tape storage, an optical disk storage. The feature of those storage is that a storage medium and a recording and reproducing apparatus are separated, the storage medium is loaded in the recording and reproducing apparatus, and data is read and written from/to the storage medium. Generally, these media are called "removable media", which will be simply called "media" hereinbelow. In a large-scale computer system, in order to easily manage a great number of media, a library apparatus is introduced. In addition to the storage media and the recording and reproducing apparatus, the library apparatus includes a storage for storing a number of memory media and a carrying apparatus for transferring the memory media between the storage and the recording and reproducing apparatus.
As one of the removable media, there is a DVD (Digital Video Disk). The DVD is a kind of optical disks and a removable medium having characteristics of large capacity, low price, and rewritability. It has been developed so as to be mainly applied to a digital video apparatus. The DVD can be also used in computers and attention is paid to application to various computers by making most of the features such as distribution of programs and data, backup performance of data, and substitution of a magnetic disk.
(3) Description of RAIL
Since the scale of data used in a computer system is being increased, improvement in its availability is very strongly requested. In a storage system constructed by the above removable media, it is effective to realize high availability by applying the concept proposed in the literature by Patterson.
As a technique employing the concept in the removable media, there is COMDEX 96, DVD applications, by Alan E. Bell (IBM Research Division), Nov. 20, 1996. In the literature, RAID (Redundant Arrays of Inexpensive Libraries) having redundancy by combining a plurality of ordinary libraries each constructed by DVD, recording and reproducing means, carrying means, and the like is proposed.
In the RAIL, it is considered that one of libraries as a component element does not have redundancy since it is an ordinary library (inexpensive library). The concept of the RAIL is that a library itself is considered as one disk and a unit of redundancy is a library, not that redundancy is given to each of the means constructing the library. That is, even if one of libraries is failed, data of the DVD stored in the failed library can be reproduced from data of DVDs stored in a plurality of other libraries by the same method as the Equation (b) in the (1) description of the RAID. As mentioned above, the RAIL is a technique for realizing high reliability of libraries using removable media.
In order to simplify the description, RAIL of a type of the RAID4 is considered in the specification. It is obviously understood that RAIDs at other levels have similar operations. In a manner similar to other levels of the RAID, it is assumed that data is divided on a predetermined block unit basis and is dispersed into media in different libraries. The dividing unit at this time is a "stripe" in a manner similar to that of the RAID. Data stripes in the same column for generating a parity and a parity stripe are called a "parity group". Since RAID4 is used, all the parities are concentratedly arranged in the same medium. The medium for storing the parity is called a "parity medium".
A group of libraries for providing redundancy is called a "RAIL group". A group of media constructing an ECC group is called a "media group".